package com.lzy.chat.c_service;

import com.lzy.chat.a_entity.AddFriend;
import com.lzy.chat.a_entity.Friend;

import java.util.List;

public interface FriendService {
    /**
     * 添加好友关系
     *
     * @param userId   一个id
     * @param friendId 另一个id
     */
    void addFriend(Integer userId, Integer friendId);

    /**
     * 删除好友关系
     *
     * @param userId   一个id
     * @param friendId 另一个id
     */
    void deleteFriend(Integer userId, Integer friendId);

    /**
     * 获取user的好友列表
     *
     * @param userId 用户id
     * @return 好友列表
     */
    List<Friend> getFriendListByUserId(Integer userId);

    /**
     * 判断两个人是否有好友关系
     *
     * @param userId_1 用户id
     * @param userId_2 用户id
     * @return 布尔值
     */
    boolean isFriend(Integer userId_1, Integer userId_2);

    /**
     * 向addFriend添加
     *
     * @param addFriend 对象
     */
    void requestToAddFriend(AddFriend addFriend);

    /**
     * 处理好友请求
     *
     * @param id   请求id
     * @param deal 处理 1or2
     */
    void dealAddFriend(Integer id, Integer deal);

    /**
     * 计算uid有多少个未处理请求
     *
     * @param uid 用户
     * @return 未处理个数
     */
    Integer countUnDeal(Integer uid);

    List<AddFriend> getUnDealByUid(Integer uid);
}
